package leo.weixin.service;


import leo.weixin.entity.message.BaseMessage;
import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;

public interface IWxService {
    /**
     * 验证消息的确来自微信服务器
     * @param signature
     * @param timestamp
     * @param nonce
     * @param echostr
     * @return
     */
    String check(String signature,String timestamp,String nonce,String echostr);

    /**
     * 处理请求
     * @param is
     * @return
     */
    String deal(InputStream is);

    /**
     * 获取微信 token
     * @return
     */
    String getAccessToken();

    /**
     * 创建消息
     * @param msg
     * @return
     */
    String createMessage(BaseMessage msg);

    /**
     * 新增零时素材   todo 还需要一个参数type 表示素材类型
     * @param file
     * @return
     */
    String addMedia(MultipartFile file);

    /**
     * 获取零素材
     * @param mediaId
     * @return
     */
    String getMedia(String mediaId);

    /**
     * 新增永久素材
     * @param material 素材对象
     * @return
     */
    String addMaterial(Object material);


    String getQrCode();
}
